﻿/*
 * CFile1.c
 *
 * Created: 2013-05-05 21:41:39
 *  Author: Adham
 
 	#define AUTO_STOP				122		// Stanna
 	#define AUTO_RIGHT				123		// Vänstersväng
 	#define AUTO_LEFT				124		// Högersväng'
 	#define AUTO_FORWARD
 */ 

void pushStack(int TURN)
{
	switch(TURN)
	{
		case AUTO_RIGHT
		{
			/* Anledningen till att ha if-satserna inuti  casen
			 * är att jag är osäker om pointer kommer behålla sitt
			 * värde. Så de bli lite kontroll. Någon får gärna ändra
			 * så att det stämmer.
			 */
			if (History[historyPointer]= 0)
			{
				History[historyPointer] = AUTO_LEFT
				historyPointer++;
				break;
			}
			else
			{
				do 
				{
					++historyPointer
				} while (History[historyPointer]!= NULL);
				
				History[historyPointer] = AUTO_LEFT
				historyPointer++;				
				
			}						
		}
		case AUTO_LEFT
		{
			if (History[historyPointer]= NULL)
			{
				History[historyPointer] = AUTO_RIGHT
				historyPointer++;
				break;
			}
			else
			{
				do
				{
					++historyPointer
				} while (History[historyPointer]!= NULL);	
				
				History[historyPointer] = AUTO_RIGHT
				historyPointer++;			
				
			}			
		}
		case AUTO_FORWARD
		{
			if (History[historyPointer]= NULL)
			{
				History[historyPointer] = AUTO_FORWARD
				historyPointer++;
				break;
			}
			else
			{
				do
				{
					++historyPointer
				} while (History[historyPointer]!= NULL);		
				
				History[historyPointer] = AUTO_FORWARD
				historyPointer++;s				
			}				
		}
		default:
		{
			break;
		}		
	}
}
int popStack(void)
{
	int temp;
	// Om  platsen inn
	if (History[historyPointer]!= NULL)
	{
		temp = History[historyPointer];
		
		History[historyPointer] = NULL;
		historyPointer--;
		return temp;
	}
	
	
	
	
}

void initHistory(void)
{
	int i;
	for (i = 0 ; i <= SIZE_HISTORY_ARRAY ; ++i)
	{
		History[i] = NULL;
	}
	historyPointer = 0;
}